/*************************************************************************
	> File Name: index.c
	> function: 语音听写(iFly Auto Transform)技术能够实时地将语音转换成对应的文字。
	> Author:卢孙远(Simon)
	> company: GDOU
	> Mail: lsy476941913@live.com 
	> Created Time: 2017年03月28日 星期二 12时33分36秒
 ************************************************************************/
#include "index.h"


int main(int argc, char const *argv[])
{
	signal(SIGPIPE, catch);	//捕获SIGPIPE信号。
	if(argc != 2)
	{
		printf("Usage: %s <addr_ip>\n", argv[0]);
		exit(0);
	}

	int sockfd = init_sock(argv[1]);	//连接语音引擎服务器。
	char *fb_mem = init_lcd();		//将屏幕fb0映射进内存，得到内存指针FB

	while(1)
	{
		/* 1，调用arecord来录一段音频 */
		wait4touch();		//点击屏幕就开始录音
		system(REC_CMD);

		/* 2，将录制好的PCM音频发送给语音识别引擎 */
		send_pcm(sockfd, PCM_FILE);

		/* 3，等待对方回送识别结果（字符串ID） */
		xmlChar *id = wait4id(sockfd);
		if(id == NULL)
			continue;

		//接收到退出的命令(999)
		if(atoi((char *)id) == 999)
		{
			printf("bye-bye!\n");
			break;
		}

		printf("id: %s\n", (char *)id);
		
		//根据命令显示图片(!=999)
		show_someone(fb_mem, atoi((char *)id));
	}
	if(NULL != fb_mem) {
		free(fb_mem);
		fb_mem = NULL;
	}
	
	close(sockfd);
	return 0;
}

